package ar.uade.fain.ai.tpo.model.politicas;

import java.util.List;

import ar.uade.fain.ai.tpo.model.Categoria;
import ar.uade.fain.ai.tpo.model.Ingrediente;
import ar.uade.fain.ai.tpo.model.ItemPedido;
import ar.uade.fain.ai.tpo.model.Pedido;
import ar.uade.fain.ai.tpo.model.PoliticaPrecio;
import ar.uade.fain.ai.tpo.model.Receta;

public class PoliticaDeEnsalada extends PoliticaPrecio{
	
	private static final double DESCUENTO = 5D;
	public static final Categoria verdura = new Categoria("Verdura", null);
	public static final Categoria ensalada = new Categoria("Ensalada", null);

	@Override
	public Double calcularVariacion(Pedido pedido) {
		int contador = 0;
		for (ItemPedido ip : pedido.getItems()){
			Receta receta = ip.getComida().getReceta();
			if (receta.getCaracteristica().getCategoria().equals(ensalada)){
				List<Ingrediente> ingredientes = receta.getIngredientes();
				for (Ingrediente i : ingredientes){
					if (i.getProducto().getCategoria().equals(verdura) && i.getProducto().isEnEstacion()){
						contador += ip.getCantidad();
					}
				}
			}
		}
		return (-contador*DESCUENTO);
	}

}
